package com.xq.datatype;

import redis.clients.jedis.Jedis;

import java.util.Iterator;
import java.util.Set;

/**
 * @author xq
 * @version 1.0
 * @date 2021/4/28 9:51
 * @description 测试Redis中数据类型String
 */
public class TestRedisString {
    public static void main(String[] args) {
        // 创建连接
        Jedis jedis = new Jedis("192.168.2.120", 6379);
        // 设置密码，有密码设置，所有服务器都没设置
        //jedis.auth("123456");
        // 赋值
        jedis.set("key_str01","val01");
        jedis.set("key_str02","val02");
        jedis.set("key_str03","val03");
        String get_key_str01 = jedis.get("key_str01");
        System.out.println("根据键获取值：" + get_key_str01);
        Set<String> keys = jedis.keys("*");
        System.out.println("获取所有键：");
        keys.stream().forEach(e -> {
            System.out.println(e);
        });
        // 判断这个key是否存在
        System.out.println("判断这个key是否存在：" + jedis.exists("key_str02"));
        // 判断这个key是否存在过期
        System.out.println("判断这个key是否过期：" + jedis.ttl("key_str01") + ",-1表示永不过期，-2表示已过期");
        jedis.append("key_str03","appends");
        System.out.println("获取key追加后为值："+jedis.get("key_str03"));
        // 批量添加key和value
        jedis.mset("key_str001","val001","key_str002","val002","key_str003","val003");
        // 批量获取value
        System.out.println("根据多个key批量获取value：" + jedis.mget("key_str001", "key_str002", "key_str003"));
    }
}
